#ifndef	STYLE_HPP_
#	define STYLE_HPP_

#	include <iostream>
#	include <QtGui>
#	include "../Chess.hpp"

using namespace std;

class Style
{
	public:
		typedef enum { P_STANDARD = 0, P_SELECTED, P_CHOICE } 	PieceHighlight;
		typedef enum { C_STANDARD = 0, C_CHOICE } 				CellHighlight;
		
		virtual ~Style();
		
		const string&	getName() const;
		QPixmap*	getPiecePixmap(Chess::Color color, Piece::Type ptype, Style::PieceHighlight highlight) const;
		QPixmap*	getCellPixmap(Chess::Color color, Style::CellHighlight highlight) const;
		QPixmap*	getBackgroundPixmap() const;
		
		
	protected:
		Style();
		
		string		name;
		QPixmap*	pixpieces[Chess::BLACK + 1][Piece::KING + 1][Style::P_CHOICE + 1];
		QPixmap*	pixcells[Chess::BLACK + 1][Style::C_CHOICE + 1];
		QPixmap*	pixbg;
};

#endif
